#!/usr/bin/env python
# -*- coding: utf-8 -*-

# @Time     :2020/12/01
# @Author   :Changshu
# @File     :Exercise_507.py
# 507. 完美数
# 对于一个 正整数，如果它和除了它自身以外的所有 正因子 之和相等，我们称它为 「完美数」。
# 给定一个 整数 n， 如果是完美数，返回 true，否则返回 false


def checkPerfectNumber(num: int) -> bool:
	if num==1:
		return False
	n=num
	for i in range(1,int(n**0.5)+1):
		if num%i==0:
			t=num//i
			n-=i
			if i!=1:
				n-=t
	if n==0:
		return True
	return False

if __name__ == '__main__':
	num=2
	print(checkPerfectNumber(num))